]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
build: Do not require appstream-util for metainfo version check
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 21 Oct 2024 00:33:33 +0000 (02:33 +0200)
committerMarge Bot <marge-bot@gnome.org>
Mon, 21 Oct 2024 10:18:05 +0000 (10:18 +0000)
appstream-util is deprecated in favor of appstreamcli. The new tool
does not have a `validate-version` command, so implement the check
in directly in the check-version.py script.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3520>

meson/check-version.py
subprojects/extensions-app/meson.build

index 81750c990dc1da8706cbeb8a08d9613221193456..c24ab41b4a27c2dde357b3a5a182044df74047cf 100755 (executable)
@@ -2,7 +2,8 @@
 
 import os, sys
 from pathlib import Path
-import argparse, subprocess
+from xml.etree.ElementTree import ElementTree
+import argparse
 
 def check_version(version, file, type='news'):
     if type == 'news':
@@ -12,8 +13,11 @@ def check_version(version, file, type='news'):
         if not ok:
             raise Exception("{} does not start with {}".format(file, version))
     elif type == 'metainfo':
-        subprocess.run(['appstream-util', 'validate-version', file, version],
-                       check=True)
+        query = './releases/release[@version="{}"]'.format(version)
+        ok = ElementTree(file=file).find(query) is not None
+        print("{}: {}".format(file, "OK" if ok else "FAILED"))
+        if not ok:
+            raise Exception("{} does not contain release {}".format(file, version))
     else:
         raise Exception('Not implemented')
 
index d651374d54dd74311afb0b4edf8ccb4d81510834..4b3598b778449c425a025e2714cc396248954412 100644 (file)
@@ -69,12 +69,10 @@ if not meson.is_subproject()
     gtk_update_icon_cache: true
   )
 
-  if appstream_util.found()
-    meson.add_dist_script('build-aux/meson/check-version.py',
-      meson.project_version(),
-      '--type=metainfo',
-      'data/metainfo/org.gnome.Extensions.metainfo.xml.in')
-  endif
+  meson.add_dist_script('build-aux/meson/check-version.py',
+    meson.project_version(),
+    '--type=metainfo',
+    'data/metainfo/org.gnome.Extensions.metainfo.xml.in')
 
   summary_dirs = {
     'prefix': get_option('prefix'),